//
//  LiftIMSystemManger.h
//  AAIM
//
//  Created by awh on 2019/12/29.
//  Copyright © 2019年 AAIM. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@protocol IMSystemManagerDelegate <NSObject>

@optional
/**
 强制下线
 */
- (void)forcedToLogout;

/**
 socket重连超时
 */
- (void)socketReconnectTimeout;


/**
 socket连接状态发生改变
 
 @param status 0：连接失败  1：连接成功  2：正在连接
 */
- (void)socketConnectStatusDidChanged:(NSInteger)status;


@end


@interface LiftIMSystemManger : NSObject

@property(nonatomic, strong) NSMutableArray *delegates;

- (void)addDelegate:(id<IMSystemManagerDelegate>)delegate;

- (void)removeDelegate:(id<IMSystemManagerDelegate>)delegate;

- (void)receiveForcedToLogoutMessage;

- (void)receiveSocketReconnectTimeout;

/**
 socket连接状态发生改变
 
 @param status 0：连接失败  1：连接成功  2：正在连接
 */
- (void)receiveSocketConnectStatusDidChanged:(NSInteger)status;

@end

NS_ASSUME_NONNULL_END
